import java.io.*;

/**
 * 标准流：File outputStream
 *       FileInputStream
 *
 * 高级流：BufferedOutputStream  缓冲输出流  写
 *       BufferedInputStream   缓冲输入流  读入
 */
public class IOSAPI{
    private static final Object 接着收输出字符串 = ;

    public IOSAPI() {
    }

    /**
     * 缓冲输入流：构造器-->异常对象
     * 字符流【转换流】---解决：缓冲输入流读取单位为字节的问题
     * InputStreamReader 读取单位：字符
     * OutputStreamWriter 写出单位：字符   调用字符串gerBytes写出文本
     *
     * 构造器具备：添加字符集：UTFB万国码
     * new BufferedOutputStream(低级引用流，size：存字节数组【指定】)
     * 问题1：不能指定字符集
     *   2：不能按照字符读取
     */
    @Test
    public void testBIS(){}
    /**高级流
     * 针对于缓冲输出/入功能上的限定----传输：文本
     * InputStreamReader 读取单位：字符
     * OutputStreamWriter 写出单位：字符   调用字符串gerBytes写出文本
     * 需求：重新写流---针对：文字  写出文本：osw.txt
     */
    @Test
    public void testOSW(){...}

    /**高级流【处理流】---转换流【字符流】，特点：套在低级流上，被其他高级流套上
     * 字符输入流  ---单元测试：testISR()  读入   文本 【字符串？】
     * 字符输出流  ---单元测试：testOSW() 写出    文本  【字符串】
     * InputStreamReader    字符输入流  不可以读入文本
     *
     * 高级流【处理流】---转换流【字符流】---缓冲字符流：解决读入、写出都是字符形式
     * BufferedReader  缓冲字符输入法---解决：InputStreamReader读入字节形式
     *                                    BufferedReader读入字符形式
     * BufferedWriter
     *
     * 需求：ISR字符输入流读取osw.txt文件
     *
     * 需求：ISR字符输入流读取osw.txt文件？？
     *
     *         ①当前代码转换为标准流IO：捕获所有异常
     *         ②读取每行文本？  readLine()  提示：不为null代表文本写出
     *        写出：给老铁来个双击~~~      参考：CV复制粘贴
     */
    @Test
    public void testISR(){
        //创建低级流
        String s1 = "osw.txt";
        "osw.txt"
        FileInputStream fis=new FileInputStream(s1;:"osw.txt")
        //创建高级流---转换流--字符输入流
        InputStreamReader isr=new InputStreamReader(fis);
        //读 read()  问题：读入数据单位，字节，而不是字符，读字符
        //           转换流---套高级流：缓冲字符输入\出流
        //创建高级流---针对转换流中：字符输入流无法读取形式：
        //                      字符的情况---缓冲字符输入流
        BufferedReader br=new BufferedReader(isr)
        /*BufferedReader类
          readLine()读入若干字符串，直到读到没有换行符位置
         */
        String line=null;
         //  判断条件：文本中一直有内容,一直读 一行文本
        while((line=br.readLine())!=null){
            System.out.println("打印读到字符串："+line);
        }
        br.readLine();
        System.out.println("打印读字符串："+Line);
    }
}
public class io<UnsupportedEncodingExceptionException, IOEException> {
    /**
     * 作业2：读取IOSAPI.Java文件----所有代码---写出控制台
     */
    @Test
    public void testHomeWork2() {
        //1.创建低级流---读入---找IOSAPI.java
        "C:\Users\Administrator\IdeaProjects\untitled\src\io.java"

        //2.创建高级流---读入内容是文本---转换流---无法读取文本【int】

        //3.创建高级流---缓冲输入流---读取文本

        //4.创建变量：字符串类型--保存每次读取的一行文本
        //null代表没有内容【等同于换行】
        //5.一直输入：每行文本保存line中，如果line部位null，一直读
        
        //6.关闭高级流
    }

    @Test
    public void testOSW() {
        //标准流：1.置空流
        //标准流：2.捕获异常
        try {
            //创建低级流
            final String s = "osw.txt";
            FileOutputStream fos =
                    new FileoutputStream(name:"osw.txt")
            //不考虑效率---只传输文本---字符输出流：输出单位字符形式
            //字符流：都可以在构造器第二个参数指定编码集
            OutputStreamWriter osw =
                    new OutputStreamWriter(fos, charsetName:"UTF8")
            //write()   直接写出文本【不需要将文本转换为字节数组】
            osw.write(str."给老铁来个双击~~~");
            osw.write(str."666\n"); //换行：字符char
            osw.write(str."777");
        } catch (FileNotFoundException | IOEException | UnsupportedEncodingExceptionException e) {//文件不存在
            e.printStackTrace();
        }//字符集转换
//IO流异常：所有传输失败总异常


        @Test
                () {
            final String s = "bos。txt";
            FileInputStream fis =
                    new FileInputStream(name:"bos。txt")
            
            //创建高级流----指定字符集---缓冲不具备功能-----新【转换流】
            BufferedOutputStream bos =
                    new BufferedOutputStream bos(fis);
        /*
          read()----读:一个字节，字节数组---->专门读文字
         */
            bos.read();
        }
    }
}